Adaptive thermal throttling with user configuration capability

ABSTRACT

An apparatus for adaptive thermal management of a device with user configuration capability, including a secure memory configured to store a thermal management policy; thermal monitoring circuitry configured to monitor thermal states associated with one or more sensor sub-systems of the device; and policy enforcement circuitry configured to implement the stored thermal management policy in response to the monitored thermal state violating a thermal threshold.

FIELD

The present disclosure relates to adaptive thermal throttling, and more particularly, to adaptive thermal throttling with capability for user configuration.

BACKGROUND

As users move away from larger electronic devices towards devices with reduced form factors such as, for example, ultra-thin platforms for smartphones, tablets and laptops, thermal management issues become increasingly important. Smaller devices operating at higher performance levels generate and dissipate more heat. In some cases the use of cooling pads, by the user of the device, becomes necessary to provide insulation from the heat. Thermal thresholds and limitations for devices are typically set by the device manufacturers. There are generally no mechanisms available by which the user may configure the device with respect to heat dissipation in order to improve the user experience with the device as well as increase the battery life and longevity of the device platform.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and advantages of embodiments of the claimed subject matter will become apparent as the following Detailed Description proceeds, and upon reference to the Drawings, wherein like numerals depict like parts, and in which:

FIG. 1 illustrates a top level system diagram of one exemplary embodiment consistent with the present disclosure;

FIG. 2 illustrates a system block diagram of one exemplary embodiment consistent with the present disclosure;

FIG. 3 illustrates a block diagram detail of one exemplary embodiment consistent with the present disclosure;

FIG. 4 illustrates another block diagram detail of one exemplary embodiment consistent with the present disclosure;

FIG. 5 illustrates a flowchart of operations of one exemplary embodiment consistent with the present disclosure; and

FIG. 6 illustrates a flowchart of operations of another exemplary embodiment consistent with the present disclosure.

Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art.

DETAILED DESCRIPTION

Generally, this disclosure provides systems and methods for adaptive thermal throttling of electronic devices such as, for example, smartphones, tablets and laptops along with the capability for user configuration of thermal management. The user configuration may be provided locally or remotely as, for example, over the internet. Thermal management may be accomplished through the monitoring of thermal states associated with sub-systems of the device and the implementation of stored policies in response to the detection that the thermal states have exceeded specified thresholds. The policies and thresholds may be included in the user specified configuration. In some embodiments, user access to the thermal management system, particularly in the case of remote access, may be authenticated through a security mechanism and thermal management policies may be stored in a secured memory.

FIG. 1 illustrates a top level system diagram 100 of one exemplary embodiment consistent with the present disclosure. A device 102, which may be a laptop, a tablet, a smartphone or any other type of electronic device, comprises a user configurable adaptive thermal throttling (UCAT) module 104 and a UCAT user interface (UI) module 106. The UCAT UI module 106 provides a user of the device 102 with the capability to configure the thermal management of the device 102 by setting thermal thresholds and specifying thermal management policies and performance preferences. The UCAT module 104 monitors thermal states of various sub-systems and/or sensors associated with the device 102 and implements the appropriate thermal management policies when a sub-system's thermal state violates a threshold. In some embodiments the user may exert local control 108 directly through the UCAT UI module 106, while in other embodiments the user may exert remote control 110 through the internet 112 and then through the UCAT UI module 106. The remote control 110 may be, for example, a remote server or another laptop or smartphone. The internet connection may be a wired or wireless connection of any suitable type such as, for example, a WiFi or 3G connection or a cloud connection.

FIG. 2 illustrates a system block diagram 200 of one exemplary embodiment consistent with the present disclosure. Shown within device 102 are UCAT module 104 and its sub-components, UCAT UI module 106, the device operating system (O/S) 210 and various device hardware components to be described below. UCAT module 104 may include security processing module 202, thermal management module 204, logging module 206 and communication processing module 208. Device hardware components may include display controller 212, CPU/graphics engine 220, memory 214, security engine 222, secure memory 224, communication module 216 and sensor hub 218.

Thermal management module 204 may provide the configuration, monitoring and policy enforcement capabilities which are described in greater detail below. Thermal management module 204 may also perform storage and retrieval of policies and thresholds from secure memory 224. Security processing module 202 may be used to authenticate users attempting to access the UCAT module 104, which may be particularly advantageous in the case of remote access. Security processing module 202 may work in conjunction with security engine 222 to perform the authentication. Logging module 206 may be used to log transactions associated with user configuration activity. Communication processing module 208 may be used to provide secure communication from the device 102 to a remote server such as a server associated with remote control 110.

Device O/S 210 may be a software module such as a computer operating system or mobile device operating system that provides general control and services for the device and/or components of the device. Device O/S 210 may execute on CPU/Graphics Engine 220 and provide interface services between UCAT modules 202, 204, 206, 208 and device hardware components 212, 214, 216, 218, 220, 222, 224. The device O/S 210 may also comprise existing platform power and performance managers which may impose performance constraints on device sub-systems and/or sensors to ensure that power and/or thermal limitation of the hardware are not exceeded.

The UCAT UI 106 may interface with a user through a display under the control of display controller 212 which provides display capabilities, particularly during local control.

Secure memory 224 may provide secure (tamper-proof) storage for thermal management policies. In some embodiments, secure memory 224 may be an embedded multimedia card (eMMC) NAND-based flash memory. Security engine 222 may be a hardware component that provides the required cryptographic operation for a tamper-proof execution environment.

FIG. 3 illustrates a block diagram detail 300 of one exemplary embodiment consistent with the present disclosure. The thermal management module 204 comprises a configuration module 302, a monitoring module 304 and a policy enforcement module 306. Configuration module 302 may provide the capability to set thermal thresholds to be associated with sub-systems and/or sensors of the device 102. These thresholds may be based on user input such as, for example, user input provided by UCAT UI 106. Monitoring module 304 may be configured to monitor thermal states associated with the aforementioned sub-systems and/or sensors. Policy enforcement module 306 may implement a stored thermal management policy that has been associated with a violation of one of the thermal thresholds by one of the monitored thermal states. Thermal management policies may include taking actions such as decreasing (or otherwise adjusting) a clock frequency of a processor or other hardware component, or increasing (or otherwise adjusting) the speed of a cooling fan. The policies may be customized to depend on the current operational mode of the device 102 such as, for example, web browsing, GPS location servicing, or placing a phone call. The policies may also be customized to depend on the identity of a current user of the device 102 or to depend on the particular device 102. In some embodiments, the policies may be stored locally or remotely such as, for example, in a cloud server where they may be downloaded or accessed from one or more user devices.

The UCAT 104 may work with the platform power and performance managers of the Device O/S to ensure that thermal management configuration setting, based on stored policies or otherwise, do not violate platform power and performance constraints or other hardware limitations. In the event of potential violations, recommended modifications to the policy may be formulated and provided to the user. These recommendations may be based on user preferences.

FIG. 4 illustrates another block diagram detail 400 of one exemplary embodiment consistent with the present disclosure. The sensor hub 218 interfaces with a variety of sensors that may be associated with or integrated in the device 102. These sensors may include a GPS 402, a gyroscope 404, a proximity sensor 406, a compass 408, an accelerometer 410 and an ambient light sensor 412. Additional sensors, not shown, may include thermal sensors, fan sensors, current sensors and/or any other sensors that may be suitable for use with device 102. In some embodiments, thermal threshold setting and monitoring may be accomplished through the sensor hub 218. In other embodiments, thermal threshold setting and monitoring may be performed directly on the sensors.

FIG. 5 illustrates a flowchart of operations 500 of one exemplary embodiment consistent with the present disclosure. At operation 504, a determination is made as to whether the UCAT is invoked. If the UCAT has been invoked, then at operation 506, the UCAT loads a current stored policy from secure memory or remote storage. At operation 508, the UCAT user interface provides user configuration capability. This configuration capability may include the association of thermal thresholds with modes of operation, the setting of frequency of application of thermal thresholds (for example, the UCAT adaptation rate) and the specification of fallback mechanisms to be invoked when thermal thresholds are met or exceeded. At operation 510, a determination is made as to whether the new configuration violates platform power and performance constraints or device limitations. If such a violation exists, then at operation 512, the UCAT works with the platform power and performance manager, which may be part of the device O/S, to formulate an alternative configuration which may be based on user preferences. At operation 514, the UCAT programs the sensor hub and/or individual sensors with new thresholds and saves new policy settings in secure memory or remote storage. User preferences may also be saved in secure memory or remote storage.

In some embodiments, UCAT may provide the user with options to increase performance or provide an improved experience based on current device usage. For example, the UCAT UI may provide details to the user regarding the available operational frequency of the CPU and/or GPU and the corresponding thermal requirements and how this may affect the device skin temperature. The user may then chose a high performance or low performance mode of operation based on this information. In some cases, the user may prefer that the device operate in a maximum performance mode when the device is away from the user, such as, for example, when watching a movie with the device on a table or stand, where the device skin temperature is less important than performance.

FIG. 6 illustrates a flowchart of operations 600 of another exemplary embodiment consistent with the present disclosure. At operation 610, thermal thresholds associated with one or more sub-systems of a device are set based on user input. In some embodiments the user input may be obtained through the UCAT user interface either locally or remotely. At operation 620, thermal states associated with the sub-systems of the device are monitored. In some embodiments the sub-systems may include sensors such as GPS, gyroscope, proximity, accelerometer, compass, ambient light sensors or other suitable sensors. At operation 630, a stored policy associated with a violation of the thermal threshold by one of the monitored thermal states is implemented. In some embodiments the stored policies may also be obtained through the UCAT user interface either locally or remotely and the selection of a particular policy for implementation may depend on the current user and the current mode of operation of the device. In some embodiments, notification may be provided to the user when a violation of the thermal threshold by one of the monitored thermal states occurs. This notification may also be performed through the UCAT user interface.

Embodiments of the methods described herein may be implemented in a system that includes one or more storage mediums having stored thereon, individually or in combination, instructions that when executed by one or more processors perform the methods. Here, the processor may include, for example, a system CPU (e.g., core processor) and/or programmable circuitry. Thus, it is intended that operations according to the methods described herein may be distributed across a plurality of physical devices, such as processing structures at several different physical locations. Also, it is intended that the method operations may be performed individually or in a subcombination, as would be understood by one skilled in the art. Thus, not all of the operations of each of the flow charts need to be performed, and the present disclosure expressly intends that all subcombinations of such operations are enabled as would be understood by one of ordinary skill in the art.

The storage medium may include any type of tangible medium, for example, any type of disk including floppy disks, optical disks, compact disk read-only memories (CD-ROMs), compact disk rewritables (CD-RWs), digital versatile disks (DVDs) and magneto-optical disks, semiconductor devices such as read-only memories (ROMs), random access memories (RAMs) such as dynamic and static RAMs, erasable programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), flash memories, magnetic or optical cards, or any type of media suitable for storing electronic instructions.

“Circuitry”, as used in any embodiment herein, may comprise, for example, singly or in any combination, hardwired circuitry, programmable circuitry, state machine circuitry, and/or firmware that stores instructions executed by programmable circuitry.

The terms and expressions which have been employed herein are used as terms of description and not of limitation, and there is no intention, in the use of such terms and expressions, of excluding any equivalents of the features shown and described (or portions thereof), and it is recognized that various modifications are possible within the scope of the claims. Accordingly, the claims are intended to cover all such equivalents. Various features, aspects, and embodiments have been described herein. The features, aspects, and embodiments are susceptible to combination with one another as well as to variation and modification, as will be understood by those having skill in the art. The present disclosure should, therefore, be considered to encompass such combinations, variations, and modifications. 

1-35. (canceled)
 36. An apparatus for thermal management of a device, comprising: a secure memory configured to store a thermal management policy; thermal monitoring circuitry configured to monitor thermal states associated with one or more sensor subsystems of said device; and policy enforcement circuitry configured to implement said stored thermal management policy in response to said monitored thermal state violating a thermal threshold.
 37. The apparatus of claim 36, further comprising a user interface configured to receive said thermal thresholds and to receive said thermal management policies.
 38. The apparatus of claim 37, wherein said user interface is further configured to provide notification of said monitored thermal state violating said thermal threshold.
 39. The apparatus of claim 37, wherein said user interface further provides remote access to said apparatus.
 40. The apparatus of claim 39, further comprising a security module configured to authenticate a user through said remote access.
 41. The apparatus of claim 36, further comprising a processor, wherein said stored policy comprises adjusting a clock frequency associated with said processor.
 42. The apparatus of claim 36, further comprising a cooling fan, wherein said stored policy comprises adjusting the speed of said cooling fan.
 43. The apparatus of claim 36, wherein said sensor subsystems of said device include one of a GPS, a gyroscope, a proximity sensor, a compass, an accelerometer, a thermal sensor, a fan sensor, a current sensor or an ambient light sensor.
 44. The apparatus of claim 36, wherein said stored policy provides that hardware limitations of said device are not exceeded.
 45. The apparatus of claim 36, wherein said device is one of a laptop, a tablet or a smartphone.
 46. A thermal management system, comprising: a configuration module configured to set thermal thresholds associated with one or more subsystems of a device, said thermal thresholds based on user input; a monitoring module configured to monitor thermal states associated with said one or more subsystems of said device; and a policy enforcement module configured to implement a stored policy associated with a violation of one of said thermal thresholds by one of said monitored thermal states.
 47. The thermal management system of claim 46, wherein said stored policy is associated with a mode of operation of said device.
 48. The thermal management system of claim 47, wherein said mode of operation is one of a global positioning sensor (GPS) mode, a web browsing mode or a phone call mode.
 49. The thermal management system of claim 46, wherein said stored policy comprises adjusting a clock frequency.
 50. The thermal management system of claim 46, wherein said stored policy comprises adjusting a cooling fan speed.
 51. The thermal management system of claim 46, wherein said subsystems of said device include one of a GPS, a gyroscope, a proximity sensor, a compass, an accelerometer, a thermal sensor, a fan sensor, a current sensor or an ambient light sensor.
 52. The thermal management system of claim 46, wherein said stored policy provides that hardware limitations of said device are not exceeded.
 53. The thermal management system of claim 46, further comprising a user interface wherein said user interface is configured to receive said user input and to provide notification that said monitoring module detects one of said thermal states violating one of said thermal thresholds.
 54. The thermal management system of claim 53, wherein said user interface further provides remote access to said thermal management system,
 55. The thermal management system of claim 54, further comprising a security module configured to authenticate a user through said remote access and to provide secure memory for said stored policies.
 56. The thermal management system of claim 46, wherein one or more of said stored policies is associated with one or more users.
 57. The thermal management system of claim 46, wherein said device is one of a laptop, a tablet or a smartphone.
 58. A method for thermal management of a device, comprising: setting thermal thresholds associated with one or more subsystems of said device, said thermal thresholds based on user input; monitoring thermal states associated with said one or more subsystems of said device; and implementing a stored policy associated with a violation of one of said thermal thresholds by one of said monitored thermal states.
 59. The method of claim 58 further comprising associating said stored policy with a mode of operation of said device.
 60. The method of claim 59 wherein said mode of operation is one of a global positioning sensor (GPS) mode, a web browsing mode or a phone call mode.
 61. The method of claim 58 further comprising adjusting a clock frequency according to said stored policy.
 62. The method of claim 58 further comprising adjusting a cooling fan speed according to said stored policy.
 63. The method of claim 58, wherein said subsystems of said device include one of a GPS, a gyroscope, a proximity sensor, a compass, an accelerometer, a thermal sensor, a fan sensor, a current sensor or an ambient light sensor.
 64. The method of claim 58, wherein said stored policy provides that hardware limitations of said device are not exceeded.
 65. The method of claim 58, further comprising providing notification to a user of said violation of one of said thermal thresholds by one of said monitored thermal states.
 66. The method of claim 58, further comprising providing remote access to said device and authenticating a user through said remote access.
 67. The method of claim 58, further comprising providing secure storage for said stored policies.
 68. The method of claim 58, wherein one or more of said stored policies is associated with one or more users.
 69. A non-transitory computer-readable storage medium having instructions stored thereon which when executed by a processor result in the following operations comprising: setting thermal thresholds associated with one or more subsystems of a device, said thermal thresholds based on user input; monitoring thermal states associated with said one or more subsystems of said device; and implementing a stored policy associated with a violation of one of said thermal thresholds by one of said monitored thermal states.
 70. The non-transitory computer-readable storage medium of claim 69, wherein said operations further comprise associating said stored policy with a mode of operation of said device.
 71. The non-transitory computer-readable storage medium of claim 69, wherein said operations further comprise adjusting a clock frequency according to said stored policy.
 72. The non-transitory computer-readable storage medium of claim 69, wherein said operations further comprise adjusting a cooling fan speed according to said stored policy.
 73. The non-transitory computer-readable storage medium of claim 69, wherein said operations further comprise providing notification to a user of said violation of one of said thermal thresholds by one of said monitored thermal states. 